home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / Z-Misc Series / (k)zk.d64 / fnc.ffloat$ < prev    next >
Text File  |  2007-03-01  |  1KB  |  63 lines

  1. 0010 // ─┼╠┼╘┼ "FNC.FFLOAT$"
  2. 0020 // ╠╔╙╘   "FNC.FFLOAT$"
  3. 0030 
  4. 0040 //                BY ─ICK ╦LINGENS
  5. 0050 //         ─UTCH ├╧═┴╠ ╒SERS ╟ROUP
  6. 0060 //                           DEC86
  7. 0070 
  8. 0080 ╞╒╬├ FFLOAT$(NUMBER,N) ├╠╧╙┼─
  9. 0090   MAXDEC:=8
  10. 0100   ╔╞ N<1 ╧╥ N>MAXDEC ╘╚┼╬ ╥┼╨╧╥╘ 1
  11. 0110   
  12. 0120   ─╔═ F$ ╧╞ 1+1+1+N+1+3
  13. 0121   //
  14. 0130   //        1 : SIGN (OR SPACE)
  15. 0140   //        1 : INTEGER PART
  16. 0150   //        1 : DECIMAL POINT
  17. 0160   //        N : DECIMAL PART
  18. 0170   //        1 : 'E'
  19. 0180   //        3 : SIGNED EXPONENT
  20. 0190   
  21. 0200   SIGNUM:=╙╟╬(NUMBER)
  22. 0210   NUMBER:=┴┬╙(NUMBER)
  23. 0220   
  24. 0230   ╔╞ NUMBER>0 ╘╚┼╬
  25. 0240     EXPON:=╔╬╘(╠╧╟(NUMBER)/╠╧╟(10))
  26. 0250   ┼╠╙┼ 
  27. 0260     EXPON:=0
  28. 0270   ┼╬─╔╞ 
  29. 0280   
  30. 0290   NUMBER:=NUMBER/(10^EXPON)
  31. 0300   SIGEX:=╙╟╬(EXPON)
  32. 0310   EXPON:=┴┬╙(EXPON)
  33. 0320   
  34. 0330   FACT:=10^N
  35. 0340   NUMBER:=╔╬╘(NUMBER*FACT+.5)/FACT
  36. 0350   
  37. 0360   F$:=╙╘╥$(NUMBER)
  38. 0370   
  39. 0380   ╔╞ ╬╧╘ "." ╔╬ F$ ╘╚┼╬ F$:=F$+"."
  40. 0390   
  41. 0400   ╔╞ SIGNUM=-1 ╘╚┼╬
  42. 0410     F$:="-"+F$
  43. 0420   ┼╠╙┼ 
  44. 0430     F$:=" "+F$
  45. 0440   ┼╬─╔╞ 
  46. 0450   
  47. 0460   ╫╚╔╠┼ ╠┼╬(F$)<3+N ─╧
  48. 0470     F$:=F$+"0"
  49. 0480   ┼╬─╫╚╔╠┼ 
  50. 0490   
  51. 0500   F$:=F$+"E"
  52. 0510   
  53. 0520   ╔╞ SIGEX=-1 ╘╚┼╬
  54. 0530     F$:=F$+"-"
  55. 0540   ┼╠╙┼ 
  56. 0550     F$:=F$+"+"
  57. 0560   ┼╬─╔╞ 
  58. 0570   
  59. 0580   F$:=F$+╙╘╥$(100+EXPON)(2:3)
  60. 0590   
  61. 0600   ╥┼╘╒╥╬ F$
  62. 0610 ┼╬─╞╒╬├ FFLOAT$
  63.